{
  // 🎯interface（接口） type（类型别名）都可以给对象指定类型
  //🎯不同点:
  //🎯接口，只能为对象指定类型
  //🎯类型别名，不仅可以为对象指定类型，实际上可以为任意类型指定别名
  //🎯推荐：能使用 type 就是用 type
  //🎯老语法
  // interface Point2D1 { x: number; y: number }
  // // 继承 Point2D
  // interface Point3D2 extends Point2D {
  //   z: number
  // }

  // //最新面试问题:type如何实现继承
  // type Point2D = { x: number; y: number }
  // // 继承 Point2D
  // type Point3D = {
  //   z: number
  // } & Point2D
  //🎯新语法
  type Person = {
    name: string;
    gender: string;
    score: number;
    height: number;
    study(): void;
  };

  let stu: Person = {
    name: "小明",
    gender: "男",
    score: 100,
    height: 183,
    study() {
      console.log("我不爱学习");
    },
  };
  console.log(stu);
}
